Ext.ns('Tm.bill');
Tm.bill.BillListPanel = Ext.extend(Ext.Panel, {
	id : 'billListPanel',
	frame : true,
    autoHeight:true,
    autoWidth:true,
	layout : 'fit',
	bill : null,
	task : null,
	initComponent : function() {
		var gridId = Ext.id();
		var bill = this.bill;
		var form = new Tm.common.FormPanel({
					ref : 'form',
					layout : 'table',
					layoutConfig : {
						columns : 3
					},
					defaults : {
						xtype : 'textfield',
						margins : '0 5 0 0'
					},
					items : [{
								plugins : [Ext.ux.FieldLabeler],
								name : 'code',
								fieldLabel : '案件编号',
								disabled : true

							}, {
								plugins : [Ext.ux.FieldLabeler],
								name : 'cnName',
								fieldLabel : '案件名称',
								disabled : true

							}, {
								plugins : [Ext.ux.FieldLabeler],
								name : 'companyCnName',
								fieldLabel : '客户公司',
								disabled : true

							}, {
								plugins : [Ext.ux.FieldLabeler],
								name : 'contactorName',
								fieldLabel : '联络人',
								disabled : true

							}, {
								plugins : [Ext.ux.FieldLabeler],
								name : 'fax',
								fieldLabel : '联系电话',
								disabled : true

							}, {
								plugins : [Ext.ux.FieldLabeler],
								name : 'mobile',
								fieldLabel : '移动电话',
								disabled : true

							}, {
								plugins : [Ext.ux.FieldLabeler],
								name : 'email',
								fieldLabel : '电子邮件',
								disabled : true

							}, {
								plugins : [Ext.ux.FieldLabeler],
								name : 'createTime',
								fieldLabel : '立案日期',
								disabled : true

							}, {
								plugins : [Ext.ux.FieldLabeler],
								name : 'createrName',
								fieldLabel : '立案人',
								disabled : true

							}, {
								plugins : [Ext.ux.FieldLabeler],
								name : 'lawyerName',
								fieldLabel : '负责律师',
								disabled : true

							}
					]
				});

		var grid = new Ext.ux.tree.TreeGrid({
					title : '账单信息',
				//	sm :  new Ext.grid.CheckboxSelectionModel(),
					autoHeight : true,
					width : 800,
              		stripeRows : true,	
					viewConfig : {
						forceFit : true
					},
					columns : [{
								header : '编码',
								width : 100,
								dataIndex : 'code'
							},{
								header : 'id',
								dataIndex : 'id',
								hidden : true
							},  {
								header : '金额',
								width : 100,
								dataIndex : 'amount'
							}, {
								header : '币种',
								width : 100,
								dataIndex : 'currency'
							}, {
								header : '出账时间',
								width : 100,
								dataIndex : 'chargeoffTime'
								
							}, {
								header : '创建人',
								width : 100,
								dataIndex : 'createName'
							}, {
								header : '更新人',
								width : 100,
								dataIndex : 'lastUpdateName'
							}
							, {
								header : 'deadline',
								width : 100,
								dataIndex : 'deadline'
							}, {
								header : '状态',
								width : 100,
								dataIndex : 'status'
							}, {
								header : '描述',
								width : 200,
								dataIndex : 'description'
							}],
					dataUrl : 'bill/queryBillVoAndItsDetailVo.do?taskId=1'
					
				});

		var toolBar = new Ext.Toolbar({
			hideBorders : true,
			buttons : [{
						text : '刷新',
						iconCls : 'act_queryIcon',
						handler : function() {
							ds.load();
						}
					}, {
						xtype : 'tbseparator'
					}, {
						text : '新增账单',
						iconCls : 'act_addIcon',

						handler : function() {
							// access the Record constructor through the grid's store
//							var App = new Ext.App({});
//							App.setAlert('ok', "Form is invalid");

											var billAddPanel = new Tm.bill.BillAddPanel();
											var billAddWindow = new Tm.common.CommonWindow({
														id : 'billAddWindow',
														title : '新增账单',
														width : 520,
														height : 240,
														// plain : true,
														// bodyStyle : 'padding:5px;',
														items : billAddPanel
													});
											billAddWindow.on('close', function(panel) {
														//ds.load();
													});
											billAddWindow.show();

										
						}
					}, {
						xtype : 'tbseparator'
					}, {
						text : '新增账单明细',
						iconCls : 'act_addIcon',
						
						handler : function() {

											var billDetailAddPanel = new Tm.bill.BillDetailAddPanel();
											var billDetailAddWindow = new Tm.common.CommonWindow({
														id : 'billDetailAddWindow',
														title : '新增账单明细',
//														width : 520,
//														height : 240,
														// plain : true,
														// bodyStyle : 'padding:5px;',
														items : billDetailAddPanel
													});
											billDetailAddWindow.on('close', function(panel) {
														//ds.load();
													});
											billDetailAddWindow.show();

										
						}
					}, {
						xtype : 'tbseparator'
					}, {
						text : '删除',
						iconCls : 'act_deleteIcon',

						handler : function() {
							editor.stopEditing();
							console.dir(grid.getSelectionModel());
							var ids = grid.getSelectionModel().selections.keys;
							if (ids.length == 0) {
								return;
							}
							var items = grid.getSelectionModel().selections.items;

							Ext.MessageBox.confirm('注意', '您确定要进行该操作？',
									function(btn) {

										if (btn == 'yes') {

											Ext.Ajax.request({
												url : 'bill/deleteBillDetails.do',
												method : 'POST',
												params : {
													ids : ids
												},
												success : function(action,
														response) {
													grid.getStore().load();
												},
												failure : function(action,
														response) {
													Ext.Msgalert('提示','删除失败。');

												}
											});
										}

									});

						}
					}, {
						xtype : 'tbseparator'
					}, {
						text : '导出',
						iconCls : 'act_addIcon',

						handler : function() {
							alert('待开发');
						}
					}]
		});
		Ext.apply(this, {
					tbar : toolBar,
					items : [form, grid]
				});
		Tm.bill.BillListPanel.superclass.initComponent.call(this);
	},
	loadData : function() {
		console.dir(this.task);
		var task = this.task;
		if (task) {
			var billListPanel = Ext.getCmp('billListPanel');
			var form = billListPanel.form;
			form.getForm().findField('code').setValue(task.code);
			form.getForm().findField('cnName').setValue(task.cnName);
			form.getForm().findField('createrName').setValue(task.createrName);
			form.getForm().findField('companyCnName').setValue(task.companyCnName);
			form.getForm().findField('contactorName').setValue(task.contactorName);
			form.getForm().findField('fax').setValue(task.fax);
			form.getForm().findField('mobile').setValue(task.mobile);
			form.getForm().findField('email').setValue(task.email);
			form.getForm().findField('lawyerName').setValue(task.lawyerName);
			form.getForm().findField('createTime').setValue(task.createTime);

			

		}
	},
	listeners : {
		afterrender : function() {
			this.loadData();
		}
	}
});
